// 公共对象
/**
 * 分页请求
 */
export interface PageQueryRequest {
    pageNum?: Number
    pageSize?: Number
    sortField?: string
    sort?: "descend" | "asc"
}

/**
 * 响应结果
 */
export interface PageQueryResult<T> {
    data: T[]
    total: Number
    pages: Number
}

export interface UpdateRequest{
    id:Number
}

export interface Pagination {
    pageNum: Number,
    pageSize: Number,
    pages: Number,
    total: Number
}


// 用户相关对象
/**
 * 用户登录对象
 */
export interface UserLoginRequest {
    username: string
    password: string
    platform: number
}

/**
 * 用户信息
 */
export interface UserVo {
    id: Number
    username: string
    nickname: string
    email: string
    avatar: string
    role: string
    expireTime:Number
    createTime:Date
    status:number
}

// 图片相关对象
export interface PicturePageQueryRequest extends PageQueryRequest {
    id?: number;
    url?: string;
    searchText?: string;       // 搜索文本（未明确说明用途，按字符串处理）
    picName?: string;
    picNameDim?: string;       // 名称模糊查询字段（如 SQL 的 LIKE 条件）
    introduction?: string;
    introductionDim?: string;  // 简介模糊查询字段
    category?: string;
    tags?: string[];          // JSON 数组（按字符串数组处理）
    picSize?: number;
    picWidth?: number;
    picHeight?: number;
    picScale?: number;
    picFormat?: string;
    userId?: number;
    reviewStatus?: 0 | 1 | 2; // 0-待审核; 1-通过; 2-拒绝
    reviewMessage?: string;
    reviewerId?: number;
}

/**
 * 图片审核信息
 */
export interface PictureViewVo {
    id: number
    url: string
    picName: string
    introduction: string
    category: string
    tags: string[]
    picSize: number
    picWidth: number
    picHeight: number
    picScale: number
    picFormat: string
    picColor: string
    userId: number
    createTime: Date      // 日期用字符串表示（如 ISO 格式）
    updateTime: Date      // 同上
    reviewStatus: 0 | 1 | 2 // 0-待审核; 1-通过; 2-拒绝
    reviewMessage: string | null // 允许 null（未审核时可能为空）
    reviewerId: number | null   // 允许 null
    reviewTime: string | null   // 允许 null
    thumbnailUrl: string
}

export interface PictureReviewRequest{
    id?: number
    reviewStatus: 0 | 1 | 2 // 0-待审核; 1-通过; 2-拒绝
    reviewMessage: string | null // 允许 null（未审核时可能为空）
}


export interface PictureUploadByBatchRequest {

    namePrefix?: string;

    count?: number;

    category?: string;

    tags?: string[];

    source?: number; //默认1:pexels 2:unsplash
}

export interface UserPageQueryRequest extends PageQueryRequest{
    username?:string;
    nickname?:string;
    phone?:string;
    email?:string;
    status?:number
}
